#ifndef _SEM_HPP__
#define _SEM_HPP__

#include <iostream>
#include <semaphore.h>


class Sem
{

public:
    Sem(int value)
    {
        sem_init(&_sem,0,value);//第二个参数0表示不共享资源，第三个表示申请多少空间
    }

    void p()
    {
        sem_wait(&_sem);//消耗
    }

    void v()
    {
        sem_post(&_sem);//生产
    }

    ~Sem()
    {
        sem_destroy(&_sem);
    }
private:
    sem_t _sem;
};

#endif